/*-------------------------------------------*/
/* Integer type definitions for FatFs module */
/*-------------------------------------------*/

#ifndef _INTEGER
#define _INTEGER
#include "stm32_typedef.h"

#ifdef _WIN32	/* FatFs development platform */

#include <windows.h>
#include <tchar.h>

#else			/* Embedded platform */

/* These types must be 16-bit, 32-bit or larger integer */
typedef int				INT;
typedef unsigned int	UINT;

/* These types must be 8-bit integer */
typedef char			CHAR;
typedef unsigned char	UCHAR;
typedef unsigned char	BYTE;

/* These types must be 16-bit integer */
typedef short			SHORT;
typedef unsigned short	USHORT;
typedef unsigned short	WORD;
typedef unsigned short	WCHAR;

/* These types must be 32-bit integer */
typedef long			LONG;
typedef unsigned long	ULONG;
typedef unsigned long	DWORD;

typedef unsigned char   INT8U;        // ???8?????                     
typedef signed   char   INT8S;        // ???8?????                        
typedef unsigned int    INT16U;       // ???16?????                       
typedef signed   int    INT16S;       // ???16?????                       
typedef unsigned long   INT32U;       // ???32?????                       
typedef signed long     INT32S;       // ???32?????        

/* Boolean type */
#ifndef __STM32_TYPEDEF_H__    

typedef enum { FALSE = 0, TRUE } BOOL;
#else
typedef bool BOOL;
#endif



#endif

#endif
